package s2elinshu.model;

public class SungJukVO {
	// 멤버변수
	private String name;
	private String grd;
	private int kor;
	private int eng;
	private int mat;
	private int tot;
	private double avg;

	// 생성자(값을 초기화 시킴, 변수 이름은 멤버변수 이름과 동일하게 넣어야 )
	public SungJukVO(
			String name, int kor, int eng, int mat) {
		 //멤버변수 = 생성자 이름; 동일한 이름을 쓰기에 
		// 정확히 어떤걸 지칭하는지 알려주기 위해 [this-현재클래스]사용
		this.name = name; 
		this.kor = kor;
		this.eng = eng;
		this.mat = mat;
	}

	// 매서드
	// 멤버변수에 값을 저장하는 메서드 : setter
	// set 멤버변수명(멤버변수 자료형 멤버변수명)
	
	public void setName(String name){this.name=name;}  //return타입이 아니기에 public void 넣어줌
	public void setKor(int kor){this.kor=kor;}  
	public void setEng(int eng){this.eng=eng;	}  
	public void setMat(int mat){	this.mat=mat;}  	
	public void setTot(int tot){this.tot=tot;}  	
	public void setAvg(double avg){this.avg=avg;}  	
	public void setGrd(String grd){this.grd=grd;}  		
	
	
	// 멤버 변수의 값을 읽어오는 메서드 : getter
	// 멤버변수자료형 get멤버변수명(공란){return 변수명}
	public String getName(){return name;}
	public int getKor(){return kor;}	
	public int getEng(){return eng;}		
	public int getMat(){return mat;}	
	public int getTot(){return (kor+eng+mat);}	
	public double getAvg(){return ((double)getTot()/3);}	
	public String getGrd(){
		String grd;
		switch ((int) getAvg()/ 10) {
		case 10:
		case 9:
			grd = "수";
			break;
		case 8:
			grd = "우";
			break;
		case 7:
			grd = "미";
			break;
		case 6:
			grd = "양";
			break;
		default:
			grd = "가";
		}
		return grd;
	}	
	
	
	@Override
	public String toString() {
     String result = "";
     result += name+"/"+kor+"/"+eng+"/"+mat;
     result +="/"+getTot()+"/"+getAvg()+"/"+getGrd();
		return result;
	}

}
